home *** CD-ROM | disk | FTP | other *** search
- *
- * $PROJECT: RexxConfigFile.library
- * $FILE: RexxVar.h
- * $DESCRIPTION: Support functions for ARexx variables.
- *
- * (C) Copyright 1997 Marcel Karas
- * All Rights Reserved.
- *
-
- XDEF _SetRxVar
-
- SECTION "",CODE
-
- *---------------------------------------------------------------------------
-
- _SetRxVar:
- MOVEM.L D2-D7/A2-A6,-(SP)
- LEA -$000C(SP),SP
- MOVEA.L A0,A2
- MOVEA.L A1,A3
- MOVEA.L D0,A5
- MOVE.L D1,D3
- LEA L07(PC),A0
- MOVEA.L SP,A1
- BSR.W L14
- MOVEA.L A2,A0
- MOVEA.L $0018(A2),A6
- MOVEQ #$09,D0
- CMPI.L #$0000FFFF,D3
- BGT.B L09
- MOVEA.L $0014(A2),A0
- JSR -$006C(A6)
- MOVEA.L A0,A4
- MOVEA.L A3,A0
- BSR.W L0A
- BNE.B L09
- MOVEA.L A1,A2
- MOVE.L D1,D2
- MOVEA.L A4,A0
- MOVE.L D2,D0
- JSR -$0042(A6)
- MOVE.L D0,D4
- MOVEA.L A4,A0
- MOVEA.L A5,A1
- MOVE.L D3,D0
- BSR.W L10
- BEQ.B L07
- MOVEA.L A4,A0
- MOVEA.L D0,A1
- MOVE.L D4,D0
- JSR -$0054(A6)
- MOVEQ #$00,D0
- BRA.B L09
- L07
- MOVEQ #$03,D0
- BRA.B L09
- L08
- MOVEQ #$0A,D0
- L09
- MOVEA.L SP,A0
- MOVE.L D0,-(SP)
- BSR.W L15
- MOVE.L (SP)+,D0
- LEA $000C(SP),SP
- MOVEM.L (SP)+,D2-D7/A2-A6
- RTS
- L0A
- MOVEM.L D2/D3/A2/A3,-(SP)
- MOVEQ #$00,D2
- MOVEQ #$00,D3
- JSR -$0120(A6)
- MOVEA.L A0,A1
- MOVEA.L A4,A0
- BSR.B L10
- MOVEA.L D0,A2
- BEQ.B L0D
- LEA $0008(A2),A1
- MOVE.W $0004(A2),D0
- MOVE.L A1,D1
- L0B
- CMPI.B #$2E,(A1)+
- DBEQ D0,L0B
- BNE.B L0C
- EXG D1,A1
- SUB.L A1,D1
- MOVE.L A2,D3
- MOVEA.L A4,A0
- MOVE.L D1,D0
- BSR.B L10
- MOVEA.L D0,A2
- BEQ.B L0D
- L0C
- LEA $0008(A2),A0
- JSR -$0066(A6)
- CMP.W $0004(A2),D1
- BEQ.B L0E
- MOVEQ #$28,D2
- BRA.B L0E
- L0D
- MOVEQ #$03,D2
- L0E
- TST.L D2
- BEQ.B L0F
- MOVEA.L A4,A0
- MOVEA.L A2,A1
- BSR.B L12
- MOVEA.L A4,A0
- MOVEA.L D3,A1
- BSR.B L12
- L0F
- MOVEA.L A2,A1
- MOVE.L D3,D1
- MOVE.L D2,D0
- MOVEM.L (SP)+,D2/D3/A2/A3
- RTS
- L10
- MOVEM.L D0/A1,-(SP)
- ADDQ.L #8,D0
- ADDQ.L #1,D0
- JSR -$0072(A6)
- MOVEM.L (SP)+,D0/A1
- BEQ.B L11
- MOVE.L A0,-(SP)
- CLR.L (A0)
- MOVE.W D0,$0004(A0)
- MOVE.B #$02,$0006(A0)
- CLR.B $08(A0,D0.L)
- ADDQ.L #8,A0
- JSR -$010E(A6)
- MOVEA.L (SP)+,A0
- MOVE.B D0,$0007(A0)
- L11
- MOVE.L A0,D0
- RTS
- L12
- MOVE.L A1,D1
- BEQ.B L13
- MOVEQ #$01,D0
- AND.B $0006(A1),D0
- BNE.B L13
- MOVE.W $0004(A1),D0
- ADDQ.L #8,D0
- ADDQ.L #1,D0
- JSR -$0078(A6)
- L13
- RTS
- L14
- MOVE.L A3,-(SP)
- MOVEA.L $0014(A2),A3
- MOVE.L A2,$0000(A1)
- MOVEM.L $00FC(A3),D0/D1
- MOVEM.L A0/A1,$00FC(A3)
- MOVEM.L D0/D1,$0004(A1)
- MOVEA.L (SP)+,A3
- RTS
- L15
- MOVEA.L $0000(A0),A1
- MOVEA.L $0014(A1),A1
- MOVEM.L $0004(A0),D0/D1
- MOVEM.L D0/D1,$00FC(A1)
- RTS
-
- *---------------------------------------------------------------------------
-
- END
-